Surface shading of computer-generated object using multiple surfaces

ABSTRACT

Objects are modeled and rendered using multiple surfaces to provide attributes used in rendering. In some embodiments, a reference surface for an object is defined, e.g., using conventional modeling techniques. One or more auxiliary surfaces are associated with portions of the reference surface. Some of the surface attributes (e.g., color, surface normal, texture, lighting) are associated with the reference surface, while other attributes (e.g., transparency) are associated with the cards. To render an image, a ray associated with a pixel is traced to its intersection with the reference surface and to its intersection with one of the auxiliary surfaces. The attributes associated with the reference surface are determined based on the intersection point of the ray with the reference surface, and the attributes associated with the auxiliary surface are determined based on the intersection point of the ray with the auxiliary surface.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.60/953,663, filed Aug. 2, 2007, entitled “Surface Shading ofComputer-Generated Object Using Multiple Surfaces,” which disclosure isincorporated herein by reference for all purposes.

BACKGROUND OF THE INVENTION

The present invention relates in general to computer-generated animationand in particular to generating images of three-dimensional objectsusing multiple surfaces to represent different attributes of the object.

Three-dimensional (3-D) animation generally begins with a geometricmodel of the objects that will appear in the animated scene. Each objectis modeled, e.g., as a mesh of polygons in 3-D space, and variousattributes of the object's surface are associated with points in themesh, such as the vertices of the polygons. For example, attributesassociated with a point often include a color, a surface normal, atransparency parameter, reflectivity parameters, and one or more sets oftexture coordinates, allowing one or more textures to be applied to thesurface.

To generate (render) the images, the positions of various objects in thescene are established; for animated images, each image is generated tocorrespond to a particular time, and positions of at least some objectsmay vary with time. A viewpoint, or virtual camera position, isestablished, and a screen area (generally normal to the camera) isdefined. The screen area is divided into small sub-areas, referred toherein as pixels, and a color for each pixel is determined based on theattributes of the object (or objects) that project onto that pixel.Which object(s) project onto a pixel can be determined using a varietyof techniques, including ray-tracing. In ray tracing, rays are drawnfrom the pixel to the object (or from the object to the pixel), and theintersection of the ray with the object's surface determines whichportion of the object's surface (e.g., which polygon or which vertices)should be used to compute the pixel's color. Computers are usedextensively in both the modeling and rendering phases.

Computer-generated 3-D animation (referred to herein as “CGA”) usuallyapproximates a photorealistic look. Objects have crisp, smooth edges andsurfaces that do not bleed or smear into each other. In fact, one of theproblems CGA faces is that surfaces and edges often look too smooth,lacking the roughness and imperfections of real-life objects.

Further, the photorealistic look of CGA is esthetically limiting.Traditional hand-drawn animation allows the animator to depart from aphotorealistic look and adopt a more “painterly” style, with unevenbrush strokes, “loose” paint at edges of objects and so on. Thetraditional animator can adapt the look of the animated world to fit thestory being told, and this stylization is generally regarded as one ofthe advantages of animation over live action.

Efforts to duplicate this painterly look in CGA have not beensatisfying. For instance, paintbrush textures have been applied torendered scenes, but the result is usually a displeasing “screen door”effect as the characters and other objects move under a fixed texture.Other attempts to apply paintbrush-like textures to objects have led todistracting “popping” as loose fragments of virtual “paint” appear anddisappear from one frame to the next. Some techniques for incorporatingpainterly elements, e.g., into backgrounds, have been developed, butthese techniques generally have not scaled well or been easy tointegrate into CGA processes.

It would therefore be desirable to provide improved computer-basedtechniques for rendering images with a painterly look.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention provide techniques for modeling andrendering objects in which multiple surfaces are used to determineattributes used in rendering. In some embodiments, a reference surface(also referred to herein as a primary surface) for an object is defined,e.g., using conventional modeling techniques. Then, one or moreauxiliary surfaces (e.g., auxiliary polygons or “cards”) are associatedwith portions of the reference surface. Some of the attributes of theobject's surface (e.g., color, surface normal, texture, lighting) areassociated with points on the reference surface, while other attributes(e.g., transparency) are associated with points on the auxiliarysurface. To render an image, a ray associated with a pixel is traced toits intersection with the reference surface and also to its intersectionwith the auxiliary surface. The attributes associated with the referencesurface are determined based on the intersection point of the ray withthe reference surface, and the attributes associated with the card aredetermined based on the intersection point of the ray with the auxiliarysurface.

In some embodiments, the auxiliary surface provides transparencyattributes while all other attributes are determined from the referencesurface. The transparency map can replicate the effect of a paintbrushstroke (thicker paint in some areas than others) or other pattern asdesired. Auxiliary surfaces associated with different portions of thereference surface can provide different transparency maps, so that norepetitive pattern is evident in the rendered image.

The auxiliary surfaces are not required to form a closed or continuoussurface. Instead, auxiliary surfaces can bristle from the referencesurface (e.g., like fur) or protrude outward (e.g., like flanges). Theauxiliary surfaces can be placed inside or outside the referencesurface; to the extent that the auxiliary surfaces are external to thereference surface, they can be ignored during phases of rendering inwhich they would create undesired effects, e.g., when determining shadowvolumes. The auxiliary surfaces advantageously have a fixed relationshipto the reference surface so that if an object moves or rotates, theauxiliary surfaces move with the surface of the object. Deformation ofthe reference surface advantageously also deforms the auxiliarysurfaces.

More generally, any number of auxiliary surfaces can be associated withthe same portion of the reference surface, and different auxiliarysurfaces can be associated with different attributes. For example,surface normals (or surface normal perturbations) can be associated withone auxiliary surface while transparency is associated with a secondauxiliary surface and color and texture are associated with thereference surface.

One aspect of the present invention relates to a method for generatingan image. A reference surface is defined for an object. The referencesurface has at least a first attribute (e.g., color, surface normal,texture) associated therewith, and the first attribute having a valuethat is variable as a function of position on the reference surface. Anauxiliary surface is also defined for the object and positioned inrelation to a specified portion of the reference surface. The auxiliarysurface has at least a second attribute (e.g., transparency) associatedtherewith, the second attribute having a value that is variable as afunction of position on the auxiliary surface. A ray is traced for apixel of an image raster, where the ray intersects a point on thereference surface and a point on the auxiliary surface. A value of thefirst attribute is determined based at least in part on the intersectionpoint of the ray with the reference surface, and a value of the secondattribute is determined based at least in part on the intersection pointof the ray with the auxiliary surface. The values of the first attributeand the second attribute to determine a pixel color for the pixel.

Another aspect of the present invention relates to another method forgenerating an image. A reference surface is defined for an object. Inthis instance, the reference surface establishes a boundary between aninterior region and an exterior region. The reference surface has atleast a first attribute associated therewith. In this instance, thereference surface includes at least a first planar portion and a secondplanar portion that is not coplanar with the first planar portion; thefirst planar portion and the second planar portion meet at an edge line.A first planar auxiliary surface is also defined for the object. Thefirst planar auxiliary surface extends from the edge line into theexterior region. The first planar auxiliary surface has a transparencyattribute associated therewith. A primary ray for a pixel of an imageraster is traced to an intersection point with the auxiliary surface. Avalue for the transparency attribute is determined based at least inpart on the intersection point of the primary ray with the auxiliarysurface. A deflected ray is traced from the intersection point of theprimary ray with the auxiliary surface; the deflected ray is deflectedtoward the reference surface relative to the primary ray. Anintersection point of the deflected ray with the reference surface isidentified, and a value of the first attribute is determined based atleast in part on the intersection point of the deflected ray with thereference surface. The values of the first attribute and thetransparency attribute to determine a pixel color for the pixel.

These and similar methods can be used to create animated imagesequences, such as animated motion pictures, where the images have apainterly appearance in which loose paint can appear to move with theobject as the object's position or orientation changes from one image tothe next.

The following detailed description together with the accompanyingdrawings will provide a better understanding of the nature andadvantages of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an image of a group of objects, rendered using conventionaltechniques; the objects also illustrate reference surfaces according toan embodiment of the present invention.

FIG. 2 shows auxiliary surfaces that can be associated with thereference surfaces of objects according to an embodiment of the presentinvention.

FIG. 3 illustrates a brush stroke transparency map (texture) that can beassociated with an auxiliary surface according to an embodiment of thepresent invention.

FIG. 4 illustrates, in top view, ray tracing for a reference surface fora cylinder and associated auxiliary surfaces (cards) according to anembodiment of the present invention.

FIGS. 5A and 5B are images of the same objects as FIG. 1, rendered inaccordance with an embodiment of the present invention.

FIGS. 6A and 6B illustrate, in top view, ray tracing from the same pointon a reference surface to cameras at different positions according to anembodiment of the present invention.

FIG. 7 shows a surface of a building with external auxiliary surfacesaccording to an embodiment of the present invention.

FIGS. 8A and 8B illustrate, in cross-section, external auxiliarysurfaces for a box-like reference surface according to variousembodiments of the present invention.

FIG. 9 illustrates ray tracing for a reference surface with an externalauxiliary surface according to an embodiment of the present invention.

FIGS. 10-12 illustrate stages in image rendering using the referencesurface and cards of FIG. 7 and a ray-trace technique according to anembodiment of the present invention. FIG. 10 illustrates mapping ofsurface normals from the reference surface onto the cards. FIG. 11illustrates the image of FIG. 10 with additional non-silhouette texturaldetail. FIG. 12 illustrates the further inclusion of surface color inthe image.

FIG. 13 is a flow diagram of a process for painterly rendering accordingto an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention provide techniques for modeling andrendering objects in which multiple surfaces are used to determineattributes used in rendering. In some embodiments, a reference surface(also referred to herein as a primary surface) for an object is defined,e.g., using conventional modeling techniques. Then, one or moreauxiliary surfaces (e.g., auxiliary polygons or “cards”) are associatedwith portions of the reference surface. Some of the attributes of theobject's surface (e.g., color, surface normal, texture, lighting) areassociated with points on the reference surface, while other attributes(e.g., transparency) are associated with points on the auxiliarysurface. To render an image, a ray associated with a pixel is traced toits intersection with the reference surface and also to its intersectionwith the auxiliary surface. The attributes associated with the referencesurface are determined based on the intersection point of the ray withthe reference surface, and the attributes associated with the card aredetermined based on the intersection point of the ray with the auxiliarysurface.

In some embodiments, the auxiliary surface provides transparencyattributes while all other attributes are determined from the referencesurface. The transparency map can replicate the effect of a paintbrushstroke (thicker paint in some areas than others) or other pattern asdesired. Auxiliary surfaces associated with different portions of thereference surface can provide different transparency maps, so that norepetitive pattern is evident in the rendered image.

The auxiliary surfaces are not required to form a closed or continuoussurface. Instead, auxiliary surfaces can bristle from the referencesurface (e.g., like fur) or protrude outward (e.g., like flanges). Theauxiliary surfaces can be placed inside or outside the referencesurface; to the extent that the auxiliary surfaces are external to thereference surface, they can be ignored during phases of rendering inwhich they would create undesired effects, e.g., when determining shadowvolumes. The auxiliary surfaces advantageously have a fixed relationshipto the reference surface so that if an object moves or rotates, theauxiliary surfaces move with the surface of the object. Deformation ofthe reference surface advantageously also deforms the auxiliarysurfaces.

More generally, any number of auxiliary surfaces can be associated withthe same portion of the reference surface, and different auxiliarysurfaces can be associated with different attributes. For example,surface normals (or surface normal perturbations) can be associated withone auxiliary surface while transparency is associated with a secondauxiliary surface and color and texture are associated with thereference surface.

Referring first to FIG. 1, there is shown an image of a group of objects(cylinders 102, 104, 106). This image has been rendered usingconventional computer-based rendering techniques. As can best be seenfor cylinder 102, the surface of an object can have a texture appliedthereto that gives the object the appearance of having been unevenlypainted. However, FIG. 1 does not look like a painting of objects. Forinstance, the edges of each cylinder are sharp and distinct, lacking thedistinctive painterly character of brush strokes. Thus, the image is aphotorealistic rendering of cylinders that have been painted; it doesnot appear to be a painting of cylinders.

An embodiment of the present invention imparts a more painterly qualityto the image. In this embodiment, a geometric model of each object to berendered can be created, e.g., using conventional techniques. Thus, forexample, the same geometric models used to generate cylinders 102, 104and 106 in FIG. 1 can be used as initial geometric models in the presentinvention. The geometric model defines a surface, referred to herein asa reference surface or primary surface. In one embodiment, a referencesurface can include a mesh of points (e.g., vertices of a polygon mesh),each of which has various attributes (e.g., color, texture(s), surfacenormal, etc.) associated therewith. More generally, a reference surfacecan be defined in any manner desired, provided that it is possible toassociate attribute values with points on the reference surface.

Next, a number of “cards” (also referred to as “auxiliary surfaces” or“brush stroke objects”) are generated and associated with the referencesurface. For example, FIG. 2 shows cards 202 that can be associated withthe reference surfaces of cylinders 102, 104 and 106 according to anembodiment of the present invention. (Different cards are shown indifferent shades of gray in FIG. 2.) Each card can be planar, e.g.,rectangular, trapezoidal, triangular, etc., and cards can intersect eachother. A card can be as large or small as desired, although the maximumsize of a card is advantageously limited to approximately the dimensionsof the reference surface. The cards follow the general shape of thereference surface but do not precisely match that shape, as can be seenby comparing FIG. 2 to FIG. 1. The cards may or may not contact orintersect the reference surface, but there is preferably a fixedassociation between the location of each card and the location of apoint on the reference surface. Thus, for instance, if the object turnsor is viewed from a different angle, the cards also turn or are viewedfrom a different angle. Further, if the reference surface deforms, thecards advantageously deform as well.

Each card is patterned with a transparency map (texture) designed torepresent an artist's brush stroke, as shown in FIG. 3, where map 304represents a transparency map for a representative card 302. Intransparency map 304, transparency is represented using a gray scale,with brighter shades of gray corresponding to higher opacity (lowertransparency) and darker shades corresponding to lower opacity (highertransparency). In this example, card 302 is fully transparent(represented as black) near the edges, but the brush stroke could extendto points at the edges of the card if desired. The brush stroketransparency map can be different for different cards, to avoid creatingdetectable repetitive patterns in the image. It is believed that anoptimum esthetic effect can be achieved if the various brush stroketexture maps on different cards are united by a common brush-strokestyle. For instance, the brush stroke transparency maps can be modeledon representative brush strokes of a specific artist.

Cards associated with a reference surface can be defined duringmodeling. In one embodiment, a fur-growing program (examples of whichare known in the art) can be used to create the cards, which can “grow”out from fixed points on or near the reference surface, and brush stroketextures can be generated procedurally and mapped onto the cards. Othertechniques can also be used to generate cards.

During rendering, ray tracing techniques are used to map a pixel of aviewing window to a point on the reference surface and to one of thecards. FIG. 4 illustrates, in top view, a reference surface 402 forcylinder 102 of FIG. 1 and associated cards including cards 403, 404,405. In this example, all cards are all inside reference surface 402,but this is not required. Some or all of the cards could intersectreference surface 402 and be partially or entirely outside surface 402.A ray 408 is traced between a (virtual) camera 410 and a point 412 onreference surface 402. (Ray tracing can be done from the object to thecamera or from the camera to the object without departing from the scopeand spirit of the invention.) Attribute values, such as color, surfacenormal, and textures are determined for point 412, e.g., usingconventional interpolation techniques.

Ray 408 is extended further to intersect card 403 at a point 414, and atransparency value associated with point 414 is determined. If ray 408does not extend through a card, then the object is treated as beingfully transparent at that point. The pixel is then shaded using the 3-Dspace coordinates and transparency value associated with point 414 andthe other attribute values associated with point 412. Conventionalshading techniques may be used to compute a color from attribute values.

If card 403 is less than fully opaque at point 414, ray 408 can befurther extended to its intersection with another card 404 at point 416,and the 3-D space coordinates and transparency value of point 416 cancontribute to the pixel shading. Thus, as in conventional ray tracing,ray 408 can be extended to contact any number of surfaces until either afully opaque surface is encountered or until enough opacity isencountered to accumulate full opacity. In some instances (e.g., wherethe surface attributes include a reflectivity coefficient), ray 408 maybe fully or partially reflected off a surface. The angle of reflectionis determined from the surface normal, which in some embodiments isprovided by the primary surface (reference surface 402). (In alternativeembodiments, the surface normal could be provided by an auxiliarysurface, such as card 403.) Each point on any surface touched by the rayadvantageously contributes its attributes to the pixel color.

FIG. 5A shows a resulting image of cylinders 102, 104 and 106, renderedfrom the same viewpoint as the image in FIG. 1. In FIG. 5A, thebrush-stroke transparency map associated with the cards creates “loose”edges that appear to have been painted with a brush. This painterlyeffect is most noticeable near the silhouette edges of the objects,e.g., as seen in region 502 and elsewhere. It is to be understood thatthe degree to which loose paint appears can be controlled by definingthe brush stroke textures to achieve a desired esthetic effect.

When an object is rotated (or the viewing angle is changed), aparticular ray will encounter a different combination of points on thereference surface and cards. For example, FIGS. 6A and 6B show raytracing from the same point 602 on a reference surface 600 to cameras610 and 620, respectively, according to an embodiment of the presentinvention. Cameras 610 and 620 are positioned differently relative tosurface 600, and the respective rays 612 and 622 project onto todifferent points on cards 614 and 616. Thus, the respective pixelsassociated with rays 612 and 622 can be rendered using different sets ofattributes. Put differently, the brush stroke object (or card)associated with a particular point on a reference surface can vary withangle of incidence of the ray.

The effect of such changes is that as the angle at which an object isviewed gradually changes (e.g., by rotating the object or moving thecamera), the painterly brush stroke effect changes subtly and smoothly,in such a way that the change is not distracting to the viewer. Forexample, FIG. 5B shows an image of the same objects as in FIG. 5A viewedfrom a different angle. Both images were generated using the sameprimary surface and cards; only the camera position has changed. Itshould be noted that the loose edges appear to move as part of theobject, although some shifting has occurred. (For example, compareregion 502 in FIG. 5A with region 502′ in FIG. 5B.) This subtle shiftingreduces the popping and other jarring artifacts associated withprior-art CGA techniques that attempt to emulate a painterly style.

In the embodiments described above, the cards associated with areference surface have been located inside the reference surface. This,however, is not required. For example, for reference surfaces with sharpedges and corners (e.g., surfaces of boxes or buildings), cards can bedefined that extend outward from the edges. FIG. 7 shows a geometricmodel for a surface of a building 700 in accordance with an embodimentof the present invention. In this embodiment, rectangular referencesurfaces making up the sides 702, awning 704, and other features havebeen extended beyond their intersections with other walls and features,and the extensions are external cards, e.g., cards 706, 708, 710.

To further illustrate external cards, FIGS. 8A and 8B illustrate across-sectional view of box-like reference surfaces 800, 806 withexternal cards according to an embodiment of the present invention. InFIG. 8A, external cards 802 are formed by extending the sides of thereference surface beyond their intersections with other sides. In FIG.8B, external cards 804 are formed at a 45-degree angle at each edge ofreference surface 806. External cards are also referred to herein as“flanges.”

External cards can be used with ray tracing to color the object in amanner similar to the internal cards described above, except that ratherthan extending the ray in a straight line through the external card, theexternal card deflects the ray toward the reference surface. (Thedeflection can be akin to refraction.) FIG. 9 illustrates ray tracingfor a reference surface 900 with a flange 902 according to an embodimentof the present invention. A ray 904 is drawn between a camera 906 and anintersection point 908 on flange 902. At point 908, ray 904 isdeflected, and deflected ray 904′ is extended toward reference surface900, intersecting surface 900 at a point 910. In some embodiments, a“refractive index” is associated with the flange, and the refractiveindex and angle of incidence of ray 904 determine the angle by which theray is deflected and thus the direction of ray 904′. Unlike a truerefractive index, this index can also depend, e.g., on angle ofincidence of the ray. The refractive index could also depend on positionwithin the card; however, this makes for more complex calculations andtransitional behavior (e.g., during panning) that is more difficult topredict.

Shading computation proceeds similarly to the shading described abovewith reference to FIG. 4. Specifically, a transparency attribute isdetermined from point 908, while other attributes (color, surfacenormal, etc.) are determined from reference-surface point 910.Conventional shading algorithms can then be used to determine the pixelcolor from the attributes.

Where flanges are used, as the object rotates, the colors appearing nearthe corner as a result of refraction by the flange will visually sync upwith the colors of the side that is coming into view. The viewer thusdoes not perceive the flange as geometry that abruptly disappears and/orreappears, which can be visually distracting. The flanges provide asmooth transition from one side of the object to another, in which thesilhouette edges always look painterly

FIGS. 10-12 illustrate image rendering using the reference surface andcards of FIG. 7 and the refractive ray-tracing technique of FIG. 9. InFIG. 10, surface normals from the reference surface have been mappedonto the cards, and transparency attributes associated with the cardshave been applied.

In FIG. 11, additional non-silhouette textural detail is added (e.g.,using conventional bump mapping and the reference surface). Finally, inFIG. 12, surface color is applied, resulting in an image of a buildingwith a painterly appearance.

FIG. 13 is a flow diagram of a process 1300 for painterly renderingaccording to an embodiment of the present invention. At step 1302, areference surface for an object to be rendered is defined. Conventionalmodeling techniques, including polygon meshes, subdivision surfaces orthe like, may be used to define a reference surface. The referencesurface advantageously has surface normals, color, texture and otherattributes associated therewith.

At step 1304, auxiliary surfaces, such as cards (or auxiliary polygonsor sub-surfaces), are associated with portions of the reference surface.As described above, the cards can be internal or external to thereference surface; the cards can also intersect the reference surface.Any number of cards can be generated, and a variety of techniques may beused to generate cards. For example, fur-growing programs can be used togrow the cards inside or outside of the surface. Cards can also begenerated based on edges of the reference surface (e.g., lateralextensions of a segment of the reference surface as shown in FIG. 7 andFIG. 8A and/or flanges as shown in FIG. 8B). Dimensions of a card may bechosen as desired, e.g., based on a desired brushstroke length, width,etc. Card dimensions can be defined with reference to observed patternsin a specific artist's brush strokes (for instance, the length of a cardcan correspond to the length of a brush stroke) or with reference to theesthetic judgment of an art director (or other creator of animatedimages).

At step 1306, one or more attributes are mapped onto the cards. Forexample, transparency attributes can be mapped onto the cards. Theattributes can mimic attributes of brushstrokes characteristic of aspecific artist or can be designed arbitrarily based on the estheticjudgment of the art director.

At step 1308, a ray is traced from a point on the reference surface to acamera. The ray trace can also proceed in the opposite direction, i.e.,from the camera, through a screen pixel that is to be shaded and ontothe reference surface. (It is to be understood that terms like “camera”and “screen” are used herein to refer to a defined viewing point,viewing direction, orientation and aperture for an image to be renderedrather than to physical cameras and screens.) The ray is furtherextended from the reference surface to intersect one of the cards. Asnoted above, rays incident on the same point of the reference surfacefrom different angles will generally intersect different points on thecard (or points on different cards).

At step 1310, the point on the reference surface is used to determineone or more attributes of the surface to be shaded. For example, thereference surface may determine a surface normal (and related lightingattributes), a basic color, and one or more textures (e.g., colorpatterns) to be applied.

At step 1312, the point on the card is used to determine one or moreother attributes of the surface to be shaded. For example, the point onthe card may determine a transparency attribute.

At step 1314, the pixel is shaded using the one or more attributesdetermined from the reference surface and the one or more attributesdetermined from the card. Conventional shading techniques and algorithmsmay be applied to the attribute values. The result of shading is colordata defining a color for the pixel.

It will be appreciated that process 1300 is illustrative and thatvariations and modifications are possible. Steps described as sequentialmay be executed in parallel, order of steps may be varied, and steps maybe modified or combined. Those skilled in the art will understand thatan animated image may include any number of objects, and process 1300can be used to generate images of arbitrary complexity. Thus, a ray maypass through a first object and impinge on an object behind it; anobject whose surface has reflective or refractive properties may reflector refract all or part of the ray in a different direction; and so on.All objects that a ray touches may contribute to the pixel color.

Pixel data for the pixels of an image can be stored and used to displayan image in any manner desired. For instance, the pixel data can bestored in a computer-readable storage medium (e.g., volatile memory,non-volatile memory, disk drive, compact disk (CD) or digital versatiledisk (DVD), magnetic disk, etc.). The data can be used to drive adigital or analog display device, such as a computer monitor orprojection system; images defined by the pixel data can also betransferred to film or other similar medium.

While the invention has been described with respect to specificembodiments, one skilled in the art will recognize that numerousmodifications are possible. For example, while the embodiments describedherein use cards to determine transparency and coordinates and theprimary (reference) surface for all other surface attributes, it is tobe understood that any subset of attributes could be associated with thecards while another subset is associated with the reference surface.Further, multiple sets of cards could be associated with a referencesurface, with each set of cards being associated with a different subsetof surface attributes. For example, a set of cards associated withsurface normals could be defined.

The auxiliary surfaces are identified as “cards” in certain embodimentsherein and are depicted as planar and polygonal, but it is to beunderstood that an auxiliary surface could have curved surfaces and/ornon-straight edges; the particular shape of the auxiliary surface is notcritical to the present invention. Cards or other auxiliary surfaces canbe internal and/or external, and they can touch or intersect thereference surface. As noted above, auxiliary surfaces can be ignoredwhen determining shadow volumes or the like during modeling and lightingoperations.

In some embodiments, the multi-surface rendering techniques describedherein can be used in conjunction with other techniques to create abrush-stroked look for a rendered image. For example, multi-surfacerendering can be practiced using objects with reference surfaces whosesurface normals have been perturbed to achieve a brush-stroke effect.Examples of techniques for perturbing surface normals to achieve abrush-stroke effect are described in commonly-owned co-pending U.S.Provisional Patent Application No. ______ (Attorney Docket No.026231-001900US).

Some components of the processes described herein can be implementedusing suitably-configured computer systems. Such systems may be ofconventional design and may include standard components such asmicroprocessors, monitors, keyboards, mice, magnetic disk drives, CD orDVD drives, flash drives, network interface components, and the like. Inaddition, interconnected groups of computers (e.g., server farms) may beused to practice aspects of the present invention. While the embodimentsdescribed above may make reference to specific hardware and softwarecomponents, those skilled in the art will appreciate that differentcombinations of hardware and/or software components may also be used andthat particular operations described as being implemented in hardwaremight also be implemented in software or vice versa.

Computer programs incorporating various features of the presentinvention may be encoded on various computer readable storage media;suitable media include magnetic disk or tape, optical storage media suchas CD or DVD, flash memory, and the like. Such programs may also beencoded and transmitted using carrier signals adapted for transmissionvia wired, optical, and/or wireless networks conforming to a variety ofprotocols, including the Internet. Computer readable media encoded withthe program code may be packaged with a compatible device or providedseparately from other devices (e.g., via Internet download to a storagemedium connected to the recipient's computer system).

Thus, although the invention has been described with respect to specificembodiments, it will be appreciated that the invention is intended tocover all modifications and equivalents within the scope of thefollowing claims

1. A method for generating an image, the method comprising: defining areference surface for an object, the reference surface having at least afirst attribute associated therewith, the first attribute having a valuethat is variable as a function of position on the reference surface;defining an auxiliary surface for the object, the auxiliary surfacebeing positioned in relation to a specified portion of the referencesurface, the auxiliary surface having at least a second attributeassociated therewith, the second attribute having a value that isvariable as a function of position on the auxiliary surface; tracing aray for a pixel of an image raster, the ray intersecting a point on thereference surface and a point on the auxiliary surface; determining avalue of the first attribute based at least in part on the intersectionpoint of the ray with the reference surface; determining a value of thesecond attribute based at least in part on the intersection point of theray with the auxiliary surface; and using the values of the firstattribute and the second attribute to determine a pixel color for thepixel.
 2. The method of claim 1 wherein the reference surfaceestablishes a boundary between an interior region and an exteriorregion, and wherein defining one or more auxiliary surfaces includespositioning the auxiliary surfaces in the interior region.
 3. The methodof claim 1 wherein the reference surface establishes a boundary betweenan interior region and an exterior region, and wherein defining one ormore auxiliary surfaces includes positioning the auxiliary surfaces inthe exterior region.
 4. The method of claim 3 wherein the referencesurface includes a first planar portion and a second planar portion notcoplanar with the first planar portion, the first planar portion and thesecond planar portion meeting at an edge line; and defining one or moreauxiliary surfaces for the object includes defining a first planarauxiliary surface that extends from the edge line into the exteriorregion.
 5. The method of claim 4 wherein the first planar auxiliarysurface is coplanar with the first planar portion of the referencesurface.
 6. The method of claim 5 wherein defining one or more auxiliarysurfaces for the object includes defining a second planar auxiliarysurface that extends from the edge line into the exterior region, thesecond planar auxiliary surface being coplanar with the second portionof the reference surface.
 7. The method of claim 4 wherein the firstplanar auxiliary surface is not coplanar with either of the first orsecond planar portions of the reference surface.
 8. The method of claim1 wherein the reference surface includes a non-planar portion, andwherein the one or more auxiliary surfaces include a planar auxiliarysurface that is positioned in relation to the non-planar portion of thereference surface.
 9. The method of claim 1 wherein the referencesurface has associated therewith at least a surface normal attribute, acolor attribute, and a texture attribute.
 10. The method of claim 1wherein each auxiliary surface has associated therewith at least atransparency attribute.
 11. The method of claim 10 wherein thetransparency attribute varies over the auxiliary surface.
 12. The methodof claim 11 wherein the transparency attribute varies in a manner thatmimics a pattern of paint applied by a paintbrush.
 13. The method ofclaim 1 wherein defining one or more auxiliary surfaces includespositioning each auxiliary surface in a fixed relationship to a portionof the reference surface.
 14. The method of claim 13 wherein thereference surface is deformable and wherein the auxiliary surfaces aredeformable to match a deformation in the reference surface.
 15. Themethod of claim 1 wherein the one or more auxiliary surfaces comprise aplurality of planar auxiliary surfaces, each planar auxiliary surfacebeing smaller than the reference surface and positioned in relation to adifferent portion of the reference surface.
 16. The method of claim 1further comprising: storing the image on a storage medium.
 17. Themethod of claim 16 wherein the storage medium comprises film.
 18. Themethod of claim 16 wherein the storage medium comprises a computerreadable storage medium that stores a digital representation of theimage.
 19. The method of claim 16 further comprising: displaying theimage.
 20. A method for generating an image, the method comprising:defining a reference surface for an object, the reference surfaceestablishing a boundary between an interior region and an exteriorregion, the reference surface further having at least a first attributeassociated therewith, wherein the reference surface includes at least afirst planar portion and a second planar portion not coplanar with thefirst planar portion, the first planar portion and the second planarportion meeting at an edge line; defining a first planar auxiliarysurface for the object, the first planar auxiliary surface extendingfrom the edge line into the exterior region, the first planar auxiliarysurface having a transparency attribute associated therewith; tracing aprimary ray for a pixel of an image raster to an intersection point withthe auxiliary surface; determining a value for the transparencyattribute based at least in part on the intersection point of theprimary ray with the auxiliary surface; tracing a deflected ray from theintersection point of the primary ray with the auxiliary surface,wherein the deflected ray is deflected toward the reference surfacerelative to the primary ray; identifying an intersection point of thedeflected ray with the reference surface; determining a value of thefirst attribute based at least in part on the intersection point of thedeflected ray with the reference surface; and using the values of thefirst attribute and the transparency attribute to determine a pixelcolor for the pixel.
 21. The method of claim 20 further comprising:computing a deflection angle for the deflected ray relative to theprimary ray, wherein the deflection angle depends at least in part on anangle of incidence of the primary ray on the first planar auxiliarysurface.
 22. The method of claim 20 wherein the first planar auxiliarysurface is coplanar with the first planar portion of the referencesurface.
 23. The method of claim 22 wherein defining one or moreauxiliary surfaces for the object includes defining a second planarauxiliary surface that extends from the edge line into the exteriorregion, the second planar auxiliary surface being coplanar with thesecond portion of the reference surface.
 24. The method of claim 20wherein the first planar auxiliary surface is not coplanar with eitherof the first or second planar portions of the reference surface.
 25. Themethod of claim 1 wherein the reference surface has associated therewithat least a surface normal attribute, a color attribute, and a textureattribute.
 26. The method of claim 20 further comprising: storing theimage on a storage medium.
 27. The method of claim 26 wherein thestorage medium comprises film.
 28. The method of claim 26 wherein thestorage medium comprises a computer readable storage medium that storesa digital representation of the image.
 29. The method of claim 26further comprising: displaying the image.
 30. A motion picture productcomprising a sequence of images stored on a storage medium, the sequenceof images created by a process comprising: defining a reference surfacefor a moving object appearing in the sequence of images, the referencesurface having at least a color attribute associated therewith, thecolor attribute having a value that varies as a function of position onthe reference surface; defining an auxiliary surface for the object, theauxiliary surface being positioned in relation to a specified portion ofthe reference surface, the auxiliary surface having at least atransparency attribute associated therewith, the transparency attributehaving a value that varies as a function of position on the auxiliarysurface; for each image in the sequence of images: defining viewingparameters for the image, the viewing parameters including a view point,view direction, and screen aperture, the screen aperture comprising anarray of pixels; tracing a ray that passes through the view point andone of the pixels, the ray intersecting a point on the reference surfaceof the object and a point on the auxiliary surface; determining a valueof the color attribute based at least in part on the intersection pointof the ray with the reference surface; determining a value of thetransparency attribute based at least in part on the intersection pointof the ray with the auxiliary surface; and using the values of the colorattribute and the transparency attribute to determine a pixel color forthe pixel, wherein the transparency attribute of the auxiliary surfaceimparts a painterly appearance to the object in the images.